Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Factor out business logic of shiv command to facility direct use in python scripts. #243

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

amundhov
Copy link
Contributor

I'm moving to shiv from a home-grown zipfile packaging script. Really enjoy the simplicity and control of this project, but wanted a way to reuse the logic in main() of cli.py without launching a sub-process or unwrapping the decorations made by click.

This PR factors out the the console commands into its own module and leaves main() as a regular function in cli.py.
python -m shiv and python -m shiv.cli should still reference the click command.

Users may find their scripts breaking if they depended directly on shiv.cli.main, but I see it's been left out of the Shiv API in the documentation. Do let me know if it's a desire to keep main() functionally unchanged (or if the change should be mentioned in the docs) and I'll work around that.

Tests passing on my machine and API docs updated.

Best,
Amund

commands.py for click setup. I've added a motivating example to the docs
for using shiv main() routine direcly from build scripts written in python.
@amundhov
Copy link
Contributor Author

docs check failing due to :option:`--python` which does not resolve. :option:`shiv --python` however, does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant